<%--
  Created by IntelliJ IDEA.
  User: DELL
  Date: 2024/4/22
  Time: 16:19
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page isELIgnored="false" %>
<html>
<head>
    <title>上传图片</title>
    <link rel="stylesheet" href="/static/layui/css/layui.css">
    <script src="/static/jquery-2.1.4.js" type="text/javascript" charset="utf-8"></script>
    <script src="/static/layui/layui.js" type="text/javascript" charset="utf-8"></script>
    <script src="/static/mylayer.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<form class="layui-form" lay-filter="updateFormFilter" action="">
    <input type="hidden" name="id"> <%--隐藏user的id--%>

    <input type="hidden" name="id" lay-verify="required" placeholder="请输入" autocomplete="off" class="layui-input">

    <div class="layui-form-item">
        <label class="layui-form-label">封面</label>
        <div class="layui-input-block">
            <div class="layui-upload">
                <div class="layui-upload-list">
                    <img width="150px" height="150px" class="layui-upload-img" id="demo1">
                    <input type="hidden" name="image" id="imageId">
                    <p id="demoText"></p>
                </div>
                <button type="button" class="layui-btn" id="uploadId">上传图片</button>
            </div>
        </div>
    </div>

    <div class="layui-form-item">
        <div class="layui-input-block">
            <button type="submit" class="layui-btn" lay-submit lay-filter="submit">立即上传</button>
            <button type="reset" class="layui-btn layui-btn-primary">重置</button>
        </div>
    </div>
</form>


<script>
    layui.use(['form','upload'],function (){
        var form = layui.form;
        var upload = layui.upload;


        //拿到blog_list.jsp传递过来的参数--编辑回显数据
        var queryString = window.location.search;
        var urlParams = new URLSearchParams(queryString);
        var id = urlParams.get("id");

        $.post(
            '/user?method=selectById',
            {'id':id},
            function (result) {
                //console.log(result);
                if (result.code == 0){
                    form.val('updateFormFilter',result.data);
                    $('#demo1').attr('src','/pic/' + result.data.image);
                }
            },
            'json'
        );

        //图片上传
        //常规使用--普通图片上传
        var uploadInst = upload.render({
            elem: '#uploadId',
            url: '/upload',
            before:function (obj) {
                obj.preview(function (index, file, result) {
                    $('#demo1').attr('src',result);
                });
            },
            done:function (result) {
                if (result.code == 0) {
                    $('#imageId').val(result.data);
                    $('#demoText').html(''); //置空上传失败的状态
                } else {
                    mylayer.errorMsg(result.msg);
                }
            },
            error: function(){
                //演示失败状态，并实现重传
                var demoText = $('#demoText');
                demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
                demoText.find('.demo-reload').on('click', function(){
                    uploadInst.upload();
                });
            }
        });

        //绑定提交事件
        form.on('submit(submit)',function (data) {
            //获取表单字段
            var field = data.field;
            console.log(data);
            // 此处可执行 Ajax 等操作
            $.post(
                '/user?method=updatePic',
                field,
                function (result) {
                    console.log(result);
                    if (result.code == 0) {
                        mylayer.okMsg(result.msg);

                        setInterval(function (){
                            //关闭弹出框
                            var index = parent.layer.getFrameIndex(window.name);
                            parent.layer.close(index);
                            //刷新父页面
                            window.parent.location.reload();
                        },2000)
                    } else {
                        mylayer.errorMsg(result.msg);
                    }
                },
                'json'
            );
            return false;//阻止默认form跳转
        });
    });
</script>
</body>
</html>
